home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / GFA basic training.adf / Erweiterung / SCROLL_V.LST < prev   
File List  |  1989-06-01  |  2KB  |  49 lines

  1. ' Scrolling
  2. ' Mit Graphics-Library
  3. '
  4. OPENS 1,0,0,350,256,2,0         ! Ein Window braucht nicht geöffnet zu werden
  5. ' Rastportadresse des Ausgabe-Screens:
  6. adr%=SCREEN(1)+84
  7. ' Wieviele Durchläufe ?
  8. lÄufe|=2
  9. ' Auszugebender Text
  10. text$=" GFA-Basic präsentiert: einen Test-String zum Scrollen von Texten im Screen ohne Window !!! Ist Alles Ready für mehr Text? Aber klar!!!!!              "
  11. ' In welcher Zeile soll der Text geschrieben und gerollt werden, in Pixeln:
  12. zeile|=224
  13. '
  14. ' Aufruf der Scrollroutine:
  15. scroll_it(lÄufe|,text$,zeile|,adr%)
  16. ' Abschalten:
  17. @aus
  18. EDIT
  19. '
  20. PROCEDURE scroll_it(max_lauf|,text$,pix_zeile|,r_adr%)
  21.   ' Länge des Textes:
  22.   lÄnge&=LEN(text$)
  23.   ' Rastport setzen
  24.   RASTPORT adr%
  25.   REPEAT
  26.     ' Adresse des Textes
  27.     textpos%=VARPTR(text$)
  28.     FOR i&=1 TO lÄnge&                 ! gesamten Text scrollen und schreiben
  29.       ' Grafikstift immer wieder auf gleiche Position setzen:
  30.       ~Move(adr%,340,pix_zeile|+7)
  31.       ' Und an diese Stelle schreiben
  32.       ~Text(adr%,textpos%+i&,1)
  33.       '
  34.       FOR j|=0 TO 1     ! Abstand zwischen den Einzelnen Buchstaben- Anfangspixeln (2*6 Pixel)
  35.         ' Warten auf den Beginn des Bildschirmaufbaus
  36.         ~WaitTOF()
  37.         ' Die Bildschirmzeilen, in denen der Text steht, in ganzer
  38.         ' Breite um 6 Pixel scrollen:
  39.         ~ScrollRaster(adr%,4,0,0,pix_zeile|,350,pix_zeile|+8)
  40.       NEXT j|
  41.       '
  42.     NEXT i&
  43.     INC loops|
  44.   UNTIL loops|=max_lauf|                ! Alle Durchläufe erledigt
  45. RETURN
  46. PROCEDURE aus
  47.   CLOSES 1
  48. RETURN
  49.